1. Field of the Invention
The present invention pertains to data management and in particular to a method and system for determining statistical data for pixels of an image and a method and system of converting an image for viewing on a display device.
2. Discussion of Related Art
An image generally contains a plurality of pixels and each pixel has one, two or more bands. Each band has a certain color depth or bit depth. For example, an RGB color-based image has 3 bands, the red band (R), the green band (G) and the blue band (B). Each of the R, G and B bands can have a depth of 8 bits or more. In order to be able to visualize or view images having a bit-depth greater than 8 bits per band (i.e., images having a depth of N-bits per band, with N greater than 8) on a display device that is configured to display an image having 3 bands (each band having an 8-bit depth), a bit depth down-sampling operation is performed. For example, a bit-depth down-sampling operation is performed on the image having N-bits per band to transform or convert the image into another image in the RGB system where each band (R band, G band and B band) has 8 bits of depth (i.e., a 24-bit RGB image).
Some conventional methods use a pre-computed N-bit to 8-bit look up table (LUT) per band to down-convert the image with higher bit depth per band into a lower bit depth (e.g., 8-bit depth) per band. When referring to “higher” bit depth per band herein, this is intended to refer to a bit depth of greater than 8 bits per band. Other methods such as tone mapping method involve executing algorithms to adaptively compute the N-bit (where N is greater than 8) to 8-bit conversion, pixel by pixel. The latter method of performing the down-conversion or down-sampling can be computer and time intensive based on the quality of the implementation of the algorithm. An increasing number of computing environments have implemented these two types of down-conversion methods into hardware or into software. Most of these methods employ the generation and application of statistical information gathered by processing pixel data in the image.
When pixels containing bands with bit depth greater than 8-bits per band are stored into disk files, they are stored in 16-bit, 32-bit, or higher bit depths per band. For example, an original image sensor may have captured data at 10, 11, 12, or 15 bits per band. However, when an image file containing these pixel values is stored on disk, it is generally stored at 16-bits per band. While this may be considered as waste of space, it is also deemed highly efficient for computing platforms of today.
When a vendor distributes to a customer imagery that was originally captured at a value greater than 8 bits per band (e.g., 16-bits per band), very often the vendor is forced to distribute the original image data as well as additional image data that was pre-converted at significant computational cost to the 8-bit depth per band, specifically for display. Under these circumstances, the 8-bit data would occupy an additional 50% more storage alongside the original 16-bit data. Compression is further used to save space on disk. If the compression is lossy, the compression degrades the image. If the compression is not lossy, the compression is not as efficient to read and decode the compressed data for visualization. A customer sometimes may choose to discard the original 16-bit data and just use the 8-bit data in critical decision making tasks because of a lack of sufficient amount of storage or the lack of computing power to handle on-the-fly conversions. If the customer chooses to only use 16-bit data in critical decision making tasks, the overhead of on-the-fly conversion to 8-bit depth for visualization bears an additional computational cost or requires additional computing power which further increases costs. However, the flexibility that on-the-fly 16-bit to 8-bit depth conversion offers is that the customer can select one of several methods to convert the image to 8-bit depth prior to display.
If a computationally inexpensive method was available for better on-the-fly visualization of data that was collected and stored at bit depths greater than 8-bits per band, it would be ideal to supply the original data (greater than 8-bits per band) to the customer and let the customer choose amongst the various methods available for displaying this data. Hence, distributing pre-converted 8-bit depth per band data would not be necessary, thus saving additional disk space requirement as well as saving the vendor the added cost of converting the data to 8-bit depth.
The method or methods described in the following paragraphs provide a mechanism for pre-computing and storing data within the image, and utilizing this data to make subsequent on-the-fly conversion of the image data having a higher bit depth per band to a lower bit depth per band (e.g., 8 bit depth per band) for the display of the image computationally inexpensively.